אלגוריתמים 1 דפי עזר

Similar documents
. s בנוסף, המרחק בקשתות על העץ מ- s לכל צומת ב- R הוא מינימאלי. נותן פיתרון ל: מציאת מסלול קצר ביותר מהמקור לכל צומת. גלוי צמתים ברי הגעה מהמקור.

Depth-First Search DFS

קשירות.s,t V שני צמתים,G=(V,E) קלט: גרף מכוון מ- s t ל- t ; אחרת.0 אם יש מסלול מכוון פלט: הערה: הגרף נתון בייצוג של רשימות סמיכות.

קובץ שאלות פתורות אביב 2102

הקיטסיגול הרבחה יעדמל בלושמה גוחה

תרגול מס' 01 אלגוריתם דיניץ

בעיית שיבוץ משימות.J כל משימה j J מאופיינת על הקלט: קבוצת משימות.t(j) s(j) וזמן סיום ידי זמן התחלה J J של משימות לא חופפות בזמן, הפלט: תת-קבוצה שהיא מ

תכנון אלגוריתמים, אביב 2010, תרגול מס' 7 סריקה לעומק, מיון טופולוגי, רכיבים קשירים היטב. time time 1

שאלה ) 1 מבחינה של פרופ' נוגה אלון ( G V עם משקלים על הקשתות, ונתון עץ פורש מינימלי של G. נניח

מכונת מצבים סופית תרגול מס' 4. Moshe Malka & Ben lee Volk

עץ תורשה מוגדר כך:שורש או שורש ושני בנים שכל אחד מהם עץ תורשה,כך שערך השורש גדול או שווה לסכום הנכדים(נכד-הוא רק בן של בן) נתון העץ הבא:

מבני נתונים תרגיל 5 שאלות לגבי העבודה יש להעלות בפורום של הקורס או בשעות הקבלה של המרצה או המתרגל האחראיים על העבודה.

סיכום מבני נתונים )שיעור( מרצה: אלכס סמורודניצקי. להערות: אמיר נווה

הקיטסיגול הרבחה יעדמל בלושמה גוחה

סיבוכיות זמן ריצה רדוקציות ושלמות ב- NP המחלקה P הגדרה: = המחלקה NP הגדרה: שפה סגירות שפות הגדרה: רדוקציה

הגדרה: משפחת עצים תקרא מאוזנת אם (n.h(t) = O(log

עצים ועצי חיפוש חומר קריאה לשיעור זה. Chapter 5.5 Trees (91 97) Chapter 13 Binary Search Trees ( )

Practical Session No. 13 Amortized Analysis, Union/Find

Rules Game (through lesson 30) by Nancy Decker Preparation: 1. Each rule board is immediately followed by at least three cards containing examples of

זו מערכת ישרת זוית )קרטזית( אשר בה יש לנו 2 צירים מאונכים זה לזה. באותו מישור ניתן להגדיר נקודה על ידי זוית ורדיוס וקטור

מבוא לתכנות ב- JAVA תרגול 7

מבני נתונים תרגיל 4 פתרון

חזרה, מיונים פולינה לוצקר

טכנולוגיית WPF מספקת למפתחים מודל תכנות מאוחד לחוויית בניית יישומיי

שאלות חזרה לקראת מבחן מפמ"ר אינטרנט וסייבר

יסודות מבני נתונים. תרגול :9 ערימה - Heap

מ ש ר ד ה ח י נ ו ך ה פ ד ג ו ג י ת א ש כ ו ל מ ד ע י ם על ה ו ר א ת ה מ ת מ ט י ק ה מחוון למבחן מפמ"ר לכיתה ט', רמה מצומצמת , תשע"ב טור א'

תרגול 8. Hash Tables

אנגלית (MODULE E) בהצלחה!

אנגלית שאלון ז' ג רסה א' הוראות לנבחן בהצלחה! )4( ההנחיות בשאלון זה מנוסחות בלשון זכר ומכוונות לנבחנות ולנבחנים כאחד. (MODULE G)

Hebrew Ulpan HEB Young Judaea Year Course in Israel American Jewish University College Initiative

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 102 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 5

א נ ג ל י ת בהצלחה! ב. משרד החינוך בגרות לנבחנים אקסטרניים )מילון הראפס אנגלי-אנגלי-ערבי( השימוש במילון אחר טעון אישור הפיקוח על הוראת האנגלית.

תוכן העניינים: פרק סדרות סיכום תכונות הסדרה החשבונית:... 2 תשובות סופיות:...8 סיכום תכונות הסדרה ההנדסית:...10

SHABBOS, 10 TAMMUZ, 5778

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון א' Corresponds with Module A (Without Access to Information from Spoken Texts) גרסה א'

תרגול 11 תור עץ חיפוש בינארי

שאלון ד' הוראות לנבחן

מבוא לרשתות - תרגול מס' 11 Transparent Bridges

P NP DTIME( nc ) :,A p B

מספר השאלון: Thinking Skills נספח: כישורי חשיבה )לפרק ראשון ושני( א נ ג ל י ת (MODULE F) ספרות )מילון הראפס אנגלי-אנגלי-ערבי(

שאלון ו' הוראות לנבחן

סה"כ נקודות סה"כ 31 נקודות סה"כ 21 תוכן עניינים של פתרון המבחן. לולאת for )נתון אלגוריתם... מעקב, פלט

A R E Y O U R E A L L Y A W A K E?

Computer Structure. Exercise #1 יש להגיש את התשובות הסופיות על גבי טופס זה.

THINKING ABOUT REST THE ORIGIN OF SHABBOS

תצוגת LCD חיבור התצוגה לבקר. (Liquid Crystal Display) המערכת.

מבוא למחשב בשפת פייתון

תכנית סטארט עמותת יכולות, בשיתוף משרד החינוך א נ ג ל י ת שאלון ב' Corresponds with Module B גרסה ב' הוראות לנבחן

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

ASP.Net MVC + Entity Framework Code First.

שאלון ו' הוראות לנבחן

בהצלחה! (MODULE C) Hoffman, Y. (2014). The Universal English-Hebrew, Hebrew-English Dictionary

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

A Long Line for a Shorter Wait at the Supermarket

מספר ת"ז: יש לסמן את התשובה הטובה ביותר בתשובון. לא יינתן ניקוד על סימון תשובה בטופס הבחינה או במחברת הבחינה.

אנגלית שאלון ז' (MODULE G) ג רסה א' הוראות לנבחן )מילון אנגלי-ערבי / ערבי-אנגלי )

םימתירוגלאו םינותנ ינבמ המירעו תינס, חמ רות רקצול הנילופ

ãówh,é ËÓÉÔê ÌW W É Å t" Y w f É ËÓÉÑ É èw É f Ñ u ð NNM YóQ' ÌW W É Y ÉgO d óqk É w f ym Éd É u ð NNM ÌWNQMH uqo ð NNM ÌWNQMH

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE F) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

ANNEXURE "E1-1" FORM OF IRREVOCABLE STANDBY LETTER OF CREDIT PERFORMANCE OF CONTRACT (WHERE PRICES ARE NOT LINKED TO AN ESCALATION FORMULA)

sharing food intro price & extra drinks * ניתן להזמין מנות כשרות בתאום מראש for good memories

ניפוי שגיאות )Debug( מאת ישראל אברמוביץ

שנת לימודים סמסטר מועד ניתן בתאריך מרצה מתרגל שאלות. 0, 3 r. n ויהי : 2 איתי בארלי גרסה / /1/14 פרופ' אהוד לרר איתי בארלי. a.

מספר השאלון: הצעת תשובות לשאלות בחינת הבגרות אנגלית (MODULE C) מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי قاموس إنجليزي - إنجليزي - عربي

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

אנגלית ספרות בהצלחה! /המשך מעבר לדף/ נספח: כישורי חשיבה )לפרק ראשון ושני( או: מילון אנגלי-ערבי / ערבי-אנגלי או: מילון אנגלי-אנגלי-ערבי

Patents Basics. Yehuda Binder. (For copies contact:

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות מילון אנגלי-אנגלי-עברי או מילון אנגלי-עברי-עברי-אנגלי

(MODULE E) ב ה צ ל ח ה!

נספח: כישורי חשיבה )לפרק ראשון ושני( אנגלית (MODULE D) ספרות או מילון אנגלי-עברי-עברי-אנגלי

Advisor Copy. Welcome the NCSYers to your session. Feel free to try a quick icebreaker to learn their names.

Name Page 1 of 6. דף ט: This week s bechina starts at the two dots in the middle of

תרגול נושאי התרגול כעץ חיפוש בינארי : העץ הימני. Inorder(x) 1) if x NULL 2) then Inorder(left(x)) 3) print key[x] 4) Inorder(right(x))

4...Informed Search Strategies Partial Order Planning 29...Hierarchical Decomposition Reenforcement Learning 40...Unsupervised Learning

מבוא לתכנות - פיתוח משחקים ב Action Script 3.0

פתרון בעיית צביעת הגרפים בעזרת אלגוריתם גנטי ואלגוריתמי Beam-Search

Expressions (ex 8) Wild World (ex 7) Cars (ex 9)

ב. משרד החינוך בגרות לנבחנים אקסטרניים א נ ג ל י ת (MODULE B) הוראות מיוחדות: )2( בתום הבחינה החזר את השאלון למשגיח. בהצלחה!

פרק היררכי

IBM System x3690 X5 תושבות. בלבד" מסוג.Nehalem EX במיוחד. Intel Xeon Nehalem EX 32 עד 64 רכיבי DIMM מסוג DDR3

חוק זכויות הסוכן חוק חוזה סוכנות )סוכן מסחרי וספק(

פתרון בעיות תכנון בגרף

המבנה הגאומטרי של מידה

מספר מילה. you very hungry am דוגמאות: decision trees ההודעה.

Thank you for your interest in the Prizmah Jewish Day School Conference!

מדדי מרכז הגדרה: מדדים סטטיסטיים המשקפים את הנטייה המרכזית של ההתפלגות מדדי מרכז מרכז ההתפלגות

פרק מיון וחיפוש - לשם מה? הגדרה

Genetic Tests for Partners of CF patients

1.1. הקדמה (דיסק). מדריכי. (מחיצות) Link

A JEW WALKS INTO A BAR: JEWISH IDENTITY IN NOT SUCH JEWISH PLACES

SEEDS OF GREATNESS MINING THROUGH THE STORY OF MOSHE S CHILDHOOD

תרגול נוסף מונופול רמה קלה רמה בינונית שאלה מספר 1 פונקציית הוצאות של מונופול הינה: עקותת הביקוש העומדת בפני המונופול הינה:

סיכומים למבחן בקומפילציה

הצעת תשובות לשאלות בחינת הבגרות אנגלית

כפתור רדיו בחירה בודדת מתוך רשימת אפשרויות

HEBREW THROUGH MOVEMENT

DNS פרק 4 ג' ברק גונן מבוסס על ספר הלימוד "רשתות מחשבים" עומר רוזנבוים 1

FILED: NEW YORK COUNTY CLERK 07/16/2014 INDEX NO /2014 NYSCEF DOC. NO. 134 RECEIVED NYSCEF: 07/16/2014 EXHIBIT 37

אוניברסיטת בן גוריון בנגב

Transcription:

אלגוריתמים 1 דפי עזר DA אלגוריתמים מיון טופולוגי קלט: גרף שהוא פלט: מיון טופולוגי של הגרף חשב את קבוצת כל המקורות בגרף, נסמנה ב- S 1 אתחל 2 3 בחר 1 S L l מהגרף, יחד עם כל הקשתות היוצאות ממנו : ll1 l 1 כל עוד V קבע קבע הסר את \ קבע S S הוסף ל- S את כל הצמתים מבין שהם מקורות L 2 3 4 5 6 4 החזר את BFS(,): 1 for any n V do a d[] := b p[] := nl 2 Q := }}; d():=0 3 whl Q not mpty do a := dq(q) b for ach n ad() do f d[] = thn 1 d[] := d[] + 1 2 p[] := 3 nq(q,) DFS(,): 1 for all n V a k[] := 0 b p[] := nl 2 :=0 3 whl thr a rtx wth k()=0 a SACK:={}, :=+1, k[]:= b Whl SACK := had(sack) f thr ad() t k[]=0 1 :=+1 2 k[]:= 3 p[]:= 4 ph(sack,) l 1 pop(sack) Strongly_Connctd_Componnt(): 1 Call DFS() to compt f[] for all n V 2 Compt 3 Call DFS( ) on th rtc ordrd n dcrang ordr of f[] (comptd n (1)) 4 otpt th rtc n ach DFS tr gnratd n (3) a parat componnt

הכלל האדום )לקשתות כבדות(: תנאי: קיים ב מעגל C חסר קשתות אדומות, ו היא קשת לא צבועה בעלת משקל מקסימאלי )מבין הקשתות הלא צבועות( ב C פעולה: צבע את באדום הכלל הכחול )לקשתות קלות(: תנאי: קיים ב חתך D חסר קשתות כחולות, ו היא קשת לא צבועה בעלת משקל מינימאלי )מבין הקשתות הלא צבועות( ב D פעולה: צבע את בכחול האלגוריתם הגנרי: בחר קשת כלשהי עליה ניתן להפעיל את הכלל האדום או הכלל הכחול, והפעל כלל זה עצור כאשר אין ב קשת כזו האלגוריתם של Prm, U : U, V \ U אתחול כל הקשתות אינן צבועות; r כל עוד U V בצע: א הפעל את הכלל הכחול על חתך מינימאלית בחתך זה כך ש- ; U, V \ U בצע וצבע בכחול קשת U : U (, ) האלגוריתם של Krkal מיין את הקשתות בסדר לא יורד לפי משקל 1 עבור על הרשימה הממוינת, ולכל קשת 2 א אם יש מסלול כחול מ ל, צבע את ב אחרת צבע את בכחול אלגוריתם לעפ"מ צהוב ביותר נגדיר פונקצית משקל חדשה 2 w 1/ n yllow w' w othrw בצע: באדום, w: N 1 2 קלט: גרף לא מכוון וקשיר ופונקצית משקל פלט: עפ"מ צהוב ביותר של 1 חשב את פונקצית המשקל 2 מצא עפ"מ לפי פונקצית המשקל, והחזר את כפלט אלגוריתם גנרי למסלולים קלים ביותר ממקור יחיד פונקציית חסם עליון על מרחקים )בקיצור פח"ע(: זוהי פונקציה :d V R המקיימת: w' w' dt, d,d() 0 שיפור מקומי על קשת (,) :rlaxaton בהינתן פח"ע d, שיפור מקומי על קשת (,) הוא d d w, אז d d w, הכלל: אם, d d w האלגוריתם הגנרי: 1 קבע פח"ע כל זמן שקיימת קשת כך ש בצע שיפור V, d 2 אלגוריתם בלמן-פורד: קלט: גרף מכוון פלט: לכל צומת ממושקל, ללא מעגלים שליליים, וצומת parnt() nl, d dt V \{ } - האלגוריתם: אתחול: לכל אתחל ; d 0 עבור = 1 עד 1 V בצע לכל קשת בצע שיפור a 1 2

) dt, d אלגוריתם דייקסטרה: קלט: גרף ממושקל מכוון ללא משקלים שליליים, וצומת dt, d d() ואתחל 0,d() אתחל V Q ( Q V - פלט: לכל צומת האלגוריתם: 1 לכל בנוסף אתחל כל זמן ש Q בצע a מצא ב- Q צומת מכיל את כל הצמתים עבורם כך ש d מינימאלי הוצא את מ- Q ולכל קשת בצע שיפור ו- ' : V V ' V b 2 3 אלגוריתם ג'ונסון: כמו כן נגדיר לכל קשת אחרת נסמן ב- w: R ו- ' w w ל- ב- ' נגדיר גם נגדיר גרף חדש ' V ', ' כך ש- w' לכל כך ש- 0 :'w R את משקל המסלול הקל ביותר מ- w w V קלט: גרף מכוון עם פונקציית משקל על הקשתות שליליים פלט: משקל מסלול קל ביותר מכל צומת לכל צומת 1 בנה את כפי שהוגדר לעיל ללא מעגלים ' חשב את כפי שהוגדר לעיל, בעזרת האלגוריתם של Bllman Ford w חשב את פונקצית המשקל מכל צומת V הצמתים, ביחס לפונקציית המשקל הרץ דייקסטרה לחישוב משקל מסלולים קלים ביותר מ- נסמן את הערך המתקבל ב- לכל d ', f d ', w, עבור כל זוג צמתים V החזר כפלט אלגוריתם חמדן למציאת מספר מקסימלי של קטעים זרים: S a,, 1 an 2 3 4 5 קלט: אוסף משימות לכל משימה זמן התחלה וזמן סיום A של משימות )או קטעים( הזרים בזוגות פלט: תת קבוצה מקסימלית S האלגוריתם: 1 מיין את המשימות לפי סדר עולה של זמני סיום )מעכשיו נניח כי המשימות מסודרות כך ש ) f f f ( f0 1 2 n אתחל 0, A ו- שנכללת בפתרון, ו- נק' הסיום שלה( הוא האינדקס של המשימה האחרונה m A A a m f עבור m 1 עד n א אם בצע: f אז ו-, )אם המשימה האחרונה ב- A a m a m m הסתיימה לפני ש מתחילה, הוסף את לA ( 2 3 אלגוריתם חמדן לצביעת גרף: קלט: גרף לא מכוון, וסדר כלשהו על הצמתים d1 1 צבעים פלט: צביעה חוקית של המשתמשת לכל היותר ב - 1 עבור צומת צומת ע"פ הסדר הנתון של הצמתים יהא הצומת הנוכחי א קבע את c להיות הצבע המינימאלי שאינו בשימוש על ידי שכניו של c

xy, אלגוריתם Hffman לקוד פרפיקסי אופטימלי: :Rcr_Hffman( ) [, f ] [, f ] קלט: א"ב עם תדירות לכל אות פלט: עץ האפמן של ] f [, אם 2 אם החזר עץ בעל שני עלים שהם שני איברי [ ', f '] : 2 יהי א מינימאלית ב הקלט הנוצר על ידי החלפת שתי אותיות באות חדשה שתדירותה בעלי תדירות ' f z f x f y ' z [ ', f '] ) := Rcr_Hffman( ב הוסף לעלה המתאים ל- z ב-' את ו- y כבנים, והחזר את העץ שהתקבל אלגוריתם פלויד וורשל למציאת כל המסלולים הקלים ביותר: )גרסה שקולה לזו שהועברה בכיתה(, k, x שיפור מקומי באמצעות צמת ביניים )שיפור מקומי מוכלל( עבור שלשה הוא הכלל: w : V V R השווה ל 0 אם ) d(, k) + d(k, ) < d(, אז ) d(, ) d(, k) + d(k, 1 2 קלט: בה"כ נניח כי עם פונקציית משקל :w, R ללא מעגלים שליליים, ונגדיר את פונקציית המשקל המוכללת dt, - V 1,, n אם, = ל - ) w(, אם (, ) ול - אחרת, פלט: לכל זוג צמתים V אתחול: לכל זוג צמתים בצע מוחזר המרחק מ- ל-, w, d, k,,, n עבור k 1 בצע עד לכל זוג צמתים בצע שיפור האלגוריתם קבוצה בלתי תלויה של קטעים בעלת משקל מקסימלי: אתחול: 1 מיין את המטלות לפי סדר עולה של זמני סיום לאחר המיון f1 f2 fn opt, ו- 0 0 prd A(0) אתחל לכל מצא את 2 3 גוף האלגוריתם: 1 עבור 1 עד n בצע opt opt prd w 1 אם א אז A A prd a opt opt prd w opt A A 1 opt 1 An ב אחרת א ב החזר 2 3 4

אלגוריתם תכנות דינמי לבעיית ה- Knapack : קלט: פריטים a 1, a 2,, a n כאשר ערכיהם p 1, p 2,, p n ומשקליהם w 1, w 2,, w n וכן קיבולת שק W פלט: הערך המקסימלי של קבוצת פריטים העומדת בקיבולת השק F k, w n1 W צור מטריצה F מגודל 1 אתחל = 0 w) F(0, לכל w W 0 עבור מהשורה המתאימה ל- k 0 א חשב את כל כניסות השורה לפי הנוסחא: k עד לשורה המתאימה ל- n F k 1, w wk w max F k 1, w, pk F k 1, w wk othrw p שפר את הזרימה לאורך, f 4 החזר את W) F(n, האלגוריתם הגנרי של פורד-פלקרסון לזרימת מקסימום: t קבע f 0 לכל קשת כל עוד קיים מסלול שיפור p מ ב אל t n 1 2 3 1 2 האלגוריתם של אדמונדס-קרפ: קבע f 0 לכל קשת כל עוד קיים מסלול שיפור מ- ב- אל, f יהא p מסלול השיפור הקצר ביותר, שפר V ' V, t 1 2 את הזרימה לאורך p אלגוריתם שידוך מקסימום בגרף דו-צדדי: נגדיר את הגרף המכוון ' ' V ', באופן הבא ', : L, :, L, R, t : R ' N ' ',, t, c ונצייד כל קשת עם קיבול יחידה M קלט: גרף דו-צדדי פלט: שידוך מקסימום עבור בנה את רשת הזרימה עם כפי שהוגדר לעיל ו- 1 c הרץ את אלגוריתם פורד-פולקרסון לחישוב זרימת מקסימום ב- ' N M : f, 1 החזר טענות ומשפטים שימושיים p() 1 2 3 סיווגי קשתות ביער :DFS קשתות עץ: קשתות אחוריות: קשת קשת עץ אםם שמחברת את לאב קדמון של בעץ DFS )לולאה עצמית מ- תחשב כקשת אחורית( קשתות קדמיות: קשתות לצאצא של בעץ DFS קשותות חוצות: כל הקשתות האחרות ב בין צמתים באותו עץ DFS ללא יחס אב קדמון צאצא, או בין עצי DFS שונים הקשר בין סוגי הקשתות לזמני הגילוי והנסיגה הוא הקשר הבא: d d f f d f d f d d f f קשת קשת היא קשת עץ או קשת קדמית אם"ם היא קשת אחורית אם"ם קשת היא קשת חוצה אם"ם

משפט המסלול הלבן: ביער ה- DFS של גרף )מכוון או לא מכוון(, צומת )דהיינו בנקודת הזמן הוא צאצא של צומת אם"ם בזמן גילוי ל- גרף הרכיבים קשירים היטב: נניח שהרק"ה ב- הם ) d קיים מסלול מ- C,, 1 Ck גרף הרכיבים קשירים היטב של, שיסומן { יש ב- קשת שיוצאת מצומת ב- דרך צמתים שטרם התגלו V 1 k C * {,, } *), * ( V*, מוגדר באופן הבא * {(, ) אל צומת ב-: C למה: גרף הרק"ה * הוא אציקלי למה: בכל ריצת אלגוריתם,DFS כל רכיב קשיר היטב מוכל במלואו באחד מעצי ה- DFS שהאלגוריתם מחזיר שמורת הצבע: גרף שחלק מקשתותיו כחולות וחלק אחר אדומות מקיים את שמורת הצבע אםם קיים ב עפ"מ שמכיל את כל הקשתות הכחולות ואף אחת מהקשתות האדומות למה: בכל ביצוע של האלגוריתם הגנרי על גרף לא מכוון משוקלל וקשיר )שקשתותיו מלכתחילה אינן צבועות(, הגרף מקיים את שמורת הצבע למה: לכל עפ"מ קיימת ריצה של קרוסקל המוצאת אותו וריצה של פרים המוצאת אותו למה: יהא משקל על הקשתות המקיימות גרף לא מכוון וקשיר יהיו w : R, w': R w w 1 2 אם"ם w' w' 1 2 1, 2 למה: יהא הוא עפ"מ לפי w 1 אם"ם הוא עפ"מ לפי w 2 כל עפ"מ של למה: קשת גרף לא מכוון וקשיר עם פונקצית משקל w: R שתי פונקציות לכל זוג קשתות לכל משקל נתון, מכיל את אותו מספר של קשתות ממשקל זה נמצאת באיזשהו עפ"מ של אם"ם כל מעגל המכיל את מכיל קשת ' כך ש- ' w למה: קשת w נמצאת בכל עפ"מ של אם"ם כל מעגל המכיל את מכיל קשת ' ' w w למה: אם אין ב- מעגלים שליליים כך ש- )שסכום משקלי קשתותיהם שלילי( שניתנים להגעה מ- אזי לכל שניתן להגעה מ- קיים מסלול קל ביותר מ- ל- מבנה אופטימאלי של מסלולים קלים ביותר: אם כל תת-מסלול של P הוא מסלול קל ביותר מ-, אז ל- P אי-שוויון המשולש: לכל הוא מסלול קל ביותר בין זוג הצמתים המתאימים,, w מתקיים,,, dt dt w dt w למה: יהי ) ( V, גרף משוקלל, שאין בו מעגל בעל משקל שלילי המכיל את תהי { } R d: V פח"ע אז 2 הטענות הבאות נכונות: 1 d נשארת פח"ע גם אחרי ביצוע שיפור,, d dt, 2 אם לכל קשת מקומי( אז לכל צומת מתקיים d d w מתקיים )כלומר לא ניתן לבצע שיפור ( 1,, n "קידוד של " הוא מיפוי קידוד של א"ב, קוד: נתון א"ב סופי } {0,1} C : המתאים לכל אות ב מילה בינארית C( ) w קבוצת המלים { w1 היא "קוד", שגם הוא נקרא C לכל מילה ב C ( ), היא המלה הבינארית,, w n } המתקבלת משרשור הקידודים של האותיות ב * קוד חד פענח: לכל זוג מלים שונות,, צריך ש ) C( ) C( 1 2 1 2 קוד פרפיקסי )חסר רישות(: אף מילת קוד אינה פרפיקס )רישא( של מילת קוד אחרת רשת זרימה: רביעיה קשתות מקבילות, כאשר N,, t, c, כאשר t V הוא צומת "מקור" ו- t הוא גרף מכוון ללא לולאות או הוא צומת "בור" c : R היא

n( ) לכל צומת, c פונקציית קיבול המגדירה לכל קשת קבוצת הקשתות הנכנסות לצומת ו קיבול אי שלילי היא קבוצת הקשתות היוצאות ממנו היא f() ot( ), f : R היא פונקציה המגדירה לכל קשת את כמות הזרימה פונקצית זרימה: העוברת בה פונקצית זרימה חייבת לקיים שני אילוצים: 1 אילוץ הקיבול )נקרא גם חוק הקשת( לכל קשת מתקיים (, 0 f ( ( c( כלומר הזרימה דרך קשת היא אי שלילית ואינה יכולה לחרוג מקיבול הקשת שימור הזרימה )נקרא גם חוק הצומת( לכל צומת {t V }\, )כלומר שאינו מקור או n f ot בור( מתקיים f, כלומר סה"כ הזרימה הנכנסת לצומת שווה : S f F לסה"כ הזרימה היוצאת מממנו ערך )או חוזק( פונקצית הזרימה: הזרימה נטו הנכנסת לבור מסומן ב או S, t S S חתך -t מקיים S V, S V S n t ot t 2 F f f חתך -t ברשת זרימה: חתך יהי הוא חלוקה של V: חתך נתון S) ( S היא קבוצת הקשתות החוצות את החתך מ ל )ב"כיוון ( S S ) {(, ) : S, S} הקדמי"(: היא קבוצת הקשתות החוצות אותו ב"כיוון האחורי", c c S S S S f ( S S) {(, ) : S, S} למה: לכל חתך ולכל פונקצית זרימה מתקיים F f f SS S S קיבול של חתך למה: לכל חתך, SS : סכום קיבולי הקשתות החוצות אותו בכיוון הקדמי: F c S S, מתקיים f ולכל פונ' זרימה

הגרף השיורי ומסלולי שיפור: רשת זרימה וזרימה ופונקציית זרימה f המוגדרת עליה מגדירים לכל קשת, עם קיבול c f קשת קדמית קשת אחורית הגרף השיורי מסלול שיפור שתי קשתות אנטי מקבילות עם קיבול שיורי capacty) :(rdal עם קיבול שיורי c f, עם קיבול שיורי f f הוא אוסף כל הקשתות עם קיבול שיורי חיובי )ביחס ל- ו- f(: מסלול מ- ל t - f בגרף השיורי משפט חתך מינימום זרימת מקסימום Flow) :(Mn Ct Max f תהי פונקצית זרימה ברשת זרימה N,, t, c f 1 2 זרימת מקסימום אין מסלול שיפור מ- ל- t בגרף השיורי הטענות הבאות שקולות: f קיים חתך 3 למה: אם לכל קשת t עבורו F c S, S, הקיבול c הוא מספר שלם אז קיימת ברשת זרימת מקסימום בשלמים, ושיטת פורד פלקרסון תמיד תעצור ותמצא זרימת מקסימום בשלמים זרימה במספר בורות ומספר מקורות: על מנת למצוא זרימת מקסימום כאשר ישנם מספר בורות ומספר מקורות נוסיף צומת חדש שיהיה המקור היחיד, ונמתח ממנו קשתות בקיבול לכל אחד מהמקורות הישנים באופן דומה, נוסיף צומת חדש t שיהיה הבור היחיד, ונמתח אליו קשתות בקיבול מכל אחד מהבורות הישנים זרימה עם אילוצי קיבול על הצמתים: נפצל כל צומת V לשני צמתים n ו- ot את כל הקשתות שנכנסו ל- נכוון ל- n ואת כל הקשתות שיצאו מ- נוציא מ- ot כמו כן נוסיף קשת חדשה ) ot ( n שקיבולה c()

סיבוכיות של אלגוריתמים בעיה מיון טופולוגי אלגוריתם מבוסס מחיקת מקורות BFS סיבוכיות הערות DA בלבד O(V + ) DFS מבוסס DFS מסלולים קצרים ביותר גרף הרכיבים קשירים היטב עץ פורש מינימום עץ פורש מינימום מסלולים קלים ביותר ממקור יחיד מסלולים קלים ביותר ממקור יחיד מסלולים קלים ביותר בין כל זוג מסלולים קלים ביותר בין כל זוג מספר מקסימלי של קטעים זרים צביעת גרף ב-+ d 1 1 צבעים בניית עץ Hffman קבוצה בלתי תלויה של קטעים בעלת משקל מקסימלי Knapack זרימת מקסימום פרים קרוסקל בלמן פורד דיקסטרה ג'ונסון פלויד-וורשל חמדן חמדן רקורסיבי מבוסס תכנות דינמי מבוסס תכנות דינמי כל אלגוריתם המתאים לאלגוריתם הגנרי של פורד פלקרסון מוצא מעגלים שליליים אם יש קשתות במשקל אי שלילי בלבד מוצא מעגלים שליליים אם יש f הוא ערך הזרימה המקסימלית ברשת התכנסות מובטחת רק במקרה של זרימה בשלמים O(V + ) O(V + ) O(V + ) מבוסס מערך ) 2 O(V מבוסס ערימה O(logV) מבוסס O(logV) UF O(V) O(logV) O(VlogV) O(V 3 ) O(nlogn) O(V + ) O(nlogn) O(nlogn) O(nW) O(f ) O(V 2 ) O(V) זרימת מקסימום שידוך מקסימום בגרף דו-צדדי אדמונדס-קרפ מבוסס זרימה